Traditionally, personal computers included operating systems, applications, and user settings for a single user. Personal computers were generally both used and managed by their owners. However, many organizations are now using virtualization, remote access and/or clouds of computing resources to fulfill their computing needs. Clouds of virtualized computing resources generally allow for the operating systems, applications, and user settings of multiple users to be included on a single physical machine. Desktop virtualization technology allows multiple instances of an operating system to be kept separate, so the activity of one user does not affect the experience of other users. Cloud computing environments allow for computers owned by the cloud operator to be managed by the cloud operator but used by cloud users, who may be customers of the cloud operator.
A virtual machine client agent is an application that allows a user a type of virtualized remote access to corporate applications, desktops and data, even when said “remote” resources are on the physical machine the user may be using. Each client agent may communicate with a central enterprise server that lists which applications and other resource have been selected by the user, and which applications and other resources are available for the user to select or request.
As virtualization becomes increasingly popular and more cost effective, new problems arise that aspects described herein address. For example, we are currently in the post PC era, and moving from a single device to a multi device world. This typically involves at least 4 screens—a smart phone, a tablet, a full featured laptop/desktop, and large, room mounted displays. Each of these devices can independently run software such as web browsers, meeting software (such as GOTOMEETING® by Citrix Systems Inc. of Ft. Lauderdale, Fla.), and personal information managers (PIM software), and document/productivity software. However, each of these devices runs independently, largely unaware of other devices. The most linkage that currently occurs between devices typically involves mirroring screens from one device to another. Typical examples of this include displaying a laptop screen on a large, room-mounted display, or displaying a tablet/smart phone display onto a laptop, which then gets displayed on a large, room mounted display.